package org.news.web.domain.vo;

import java.util.Date;

import org.news.web.domain.Categories;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;


/**
 * 栏目或类别视图对象 categories
 *
 * @author Gu Ci
 * @date 2024-03-23
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = Categories.class)
public class CategoriesVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 栏目或类别ID
     */
    @ExcelProperty(value = "栏目或类别ID")
    private Long categoryId;

    /**
     * 头像
     */
    @ExcelProperty(value = "头像")
    private String profilePicture;


    /**
     * 栏目名称
     */
    @ExcelProperty(value = "栏目名称")
    private String categoryName;

    /**
     * 栏目描述
     */
    @ExcelProperty(value = "栏目描述")
    private String description;

    /**
     * 父栏目ID，用于表示栏目的层级关系

     */
    @ExcelProperty(value = "父栏目ID，用于表示栏目的层级关系 ")
    private Long parentCategoryId;

    /**
     * 用于表达是类别还是栏目
     */
    @ExcelProperty(value = "用于表达是类别还是栏目")
    private Long status;

    /**
     * 内容数量
     */
    @ExcelProperty(value = "内容数量")
    private Long contentCount;

    /**
     * 订阅数量
     */
    @ExcelProperty(value = "订阅数量")
    private Long subscriberCount;

    /**
     * 记录创建时间
     */
    @ExcelProperty(value = "记录创建时间")
    private Date creationTime;

    /**
     * 记录更新时间
     */
    @ExcelProperty(value = "记录更新时间")
    private Date updateTime;

    private String pictureUrl;
}
